<?php

declare(strict_types=1);

namespace App\Amqp\Consumer;

use Hyperf\Amqp\Message\Type;
use Hyperf\Amqp\Result;
use Hyperf\Amqp\Annotation\Consumer;
use Hyperf\Amqp\Message\ConsumerMessage;
use PhpAmqpLib\Message\AMQPMessage;

/**
 * AI 使用记录消费者
 */
#[Consumer(
    exchange: 'ai_exchange',     // 交换机名称，自定义为 ai 相关
    routingKey: 'ai_task',       // 路由键，用来区分消息类型
    queue: 'ai_task_queue',      // 队列名称，存放 AI 使用记录消息
    name: 'AiUsageConsumer',     // 消费者名称
    nums: 1                      // 并发消费数量，一般写 1-2，确保顺序和安全
)]
class AiUsageConsumer extends ConsumerMessage
{
    protected string|Type $type = Type::DIRECT;
    public function consumeMessage($data, AMQPMessage $message): Result
    {
        return Result::ACK;
    }
}
